package com.doubao.chat.service;

import com.doubao.chat.dto.MessageProviderInfo;
import com.doubao.chat.entity.ChatMessage;
import com.doubao.common.result.Result;

import java.util.List;

/**
 * AI提供商服务接口
 */
public interface AIProviderService {

    /**
     * 根据智能体ID获取AI提供商信息
     *
     * @param deviceId 智能体ID
     * @return 提供商信息
     */
    Result<MessageProviderInfo> getProviderInfo(Long deviceId);

    /**
     * 获取智能体系统提示词
     *
     * @param deviceId 智能体ID
     * @return 系统提示词
     */
    Result<String> getSystemPrompt(Long deviceId);

    /**
     * 向AI提供商发送消息并获取回复
     *
     * @param deviceId      智能体ID
     * @param systemPrompt  系统提示词
     * @param contextMessages 上下文消息
     * @param userMessage   用户消息
     * @return AI回复
     */
    Result<String> sendMessageToProvider(Long deviceId, String systemPrompt, List<ChatMessage> contextMessages, String userMessage);
}
